home *** CD-ROM | disk | FTP | other *** search
/ Java Programmer's Toolkit / Java Programmer's Toolkit.iso / gs3.53 / lib.doc < prev    next >
Text File  |  1996-01-10  |  4KB  |  78 lines

  1.    Copyright (C) 1989 Aladdin Enterprises.  All rights reserved.
  2.   
  3.   This file is part of Aladdin Ghostscript.
  4.   
  5.   Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  6.   or distributor accepts any responsibility for the consequences of using it,
  7.   or for whether it serves any particular purpose or works at all, unless he
  8.   or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  9.   License (the "License") for full details.
  10.   
  11.   Every copy of Aladdin Ghostscript must include a copy of the License,
  12.   normally in a plain ASCII text file named PUBLIC.  The License grants you
  13.   the right to copy, modify and redistribute Aladdin Ghostscript, but only
  14.   under certain conditions described in the License.  Among other things, the
  15.   License requires that the copyright notice and this notice be preserved on
  16.   all copies.
  17.  
  18. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  19.  
  20. This file, lib.doc, describes the Ghostscript library, a collection of C
  21. procedures that implement the primitive graphic operations of the
  22. Ghostscript language.
  23.  
  24. For an overview of Ghostscript and a list of the documentation files, see
  25. README.
  26.  
  27. ********
  28. ******** The Ghostscript library ********
  29. ********
  30.  
  31. Ghostscript is actually two programs: a language interpreter, and a
  32. graphics library.  The library provides, in the form of C procedures, all
  33. the graphics functions of the language, i.e., approximately those
  34. facilities listed in section 6.2 of the PostScript manual starting with
  35. the graphics state operators.  In addition, the library provides some
  36. lower-level graphics facilities that offer higher performance in exchange
  37. for less generality.
  38.  
  39. To be specific, the highest level of the library implements all the
  40. operators in the "graphics state", "coordinate system and matrix", "path
  41. construction", "painting", "character and font", and "font cache" sections
  42. of the PostScript manual, with the following deliberate exceptions:
  43.     settransfer, currenttransfer
  44.     definefont, findfont
  45.     FontDirectory, StandardEncoding
  46. The following "device" operators are implemented:
  47.     showpage (synchronizes the display)
  48.     nulldevice
  49.  
  50. There are slight differences in the operators that return multiple values,
  51. since C's provisions for this are awkward.  Also, the control structure
  52. for the operators involving (an) auxiliary procedure(s) (setscreen,
  53. pathforall, image, imagemask) is partly inverted: the client calls a
  54. procedure to set up an enumerator object, and then calls another procedure
  55. for each iteration.  The ...show operators, charpath, and stringwidth
  56. also use an inverted control structure.
  57.  
  58. Files named gs*.c implement the higher level of the graphics library.
  59. To use the facilities of gs?.c, a client program should include
  60. gs?.h.  As might be expected, all procedures, variables, and
  61. structures available at this level begin with gs_.  Structures that
  62. appear in these interfaces, but whose definitions may be hidden from
  63. clients, also have names beginning with gs_, i.e., the prefix
  64. reflects at what level the abstraction is made available, not the
  65. implementation.
  66.  
  67. Files named gx*.c implement the lower level of the graphics library.
  68. To use the facilities of gx?.c, a client program should include
  69. gx?.h.  The interfaces at the gx level are less stable, and expose
  70. more of the implementation detail, than those at the gs level: in
  71. particular, the gx interfaces generally use device coordinates in an
  72. internal fixed-point representation, as opposed to the gs interfaces
  73. that use floating point user coordinates.  Named entities at this
  74. level begin with gx_.
  75.  
  76. Files named gz*.c and gz*.h are internal to the Ghostscript
  77. implementation, and not designed to be called by clients.
  78.